"""
自定too的一些字段。如：函数名称，输入参数等等
"""
from pydantic import Field, BaseModel
from langchain_core.tools import tool


class CalculatorInput(BaseModel):
    a: int = Field(description="first number")
    b: int = Field(description="second number")


## 修改名称为：multiplication-tool， args_schema传入一个类。return_direct：true表示不做其他逻辑处理，直接返回。
@tool("multiplication-tool", args_schema=CalculatorInput, return_direct=True)
def multiply(a: int, b: int) -> int:
    """Multiply two numbers"""
    return a * b


## 检查与该工具有关的属性
print(f"名称：{multiply.name}")
print(f"描述：{multiply.description}")
print(f"参数：{multiply.args}")
